//
// Created by 12992 on 24-10-26.
//

#ifndef BASE64_H
#define BASE64_H

#include "crypto.h"
#include <openssl/evp.h>

namespace crypto
{
    class base64 final
            : public crypto
    {
    public:
        base64() = default;

        ~base64() override = default;

        std::string encrypt(const std::string&) override;

        std::string decrypt(const std::string&) override;

    private:
        BIO* b64{};
        BIO* bmem{};
    };
} // crypto

#endif //BASE64_H
